// app.ts
import { api } from './utils/api';

App<IAppOption>({
    globalData: {
        user: null,
    },
    onLaunch() {
        // 检查登录状态
        const token = wx.getStorageSync('token');
        if (token) {
            api.setToken(token);
            // 优先从缓存读取用户信息
            const cachedUser = wx.getStorageSync('currentUser');
            if (cachedUser) {
                this.globalData.user = cachedUser;
            }
            // 同时从后端获取最新用户信息并更新缓存
            api.getCurrentUser().then((res: any) => {
                if (res.success && res.user) {
                    // 更新缓存
                    wx.setStorageSync('currentUser', res.user);
                    // 更新全局数据
                    this.globalData.user = res.user;
                }
            }).catch(() => {
                // token失效，清除缓存
                api.clearToken();
                wx.removeStorageSync('currentUser');
            });
        }
    },
})